package C牛客入门测试;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 小易有一个长度为n的整数序列,a_1,...,a_n。然后考虑在一个空序列b上进行n次以下操作:
 * 1、将a_i放入b序列的末尾
 * 2、逆置b序列
 * 小易需要你计算输出操作n次之后的b序列。
 */
public class 操作序列 {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        Integer[] integers = new Integer[count];
        String[] strings = br.readLine().split(" ");
        for (int i = 0; i < count; i++) {
            integers[i] = Integer.parseInt(strings[i]);
        }
        List<String> list = new ArrayList<>();
        //将数按照索引奇偶性分组
        List<Integer> list1 = new ArrayList<>();//下标是偶数
        List<Integer> list2 = new ArrayList<>();//下标是奇数
        for (int i = 0; i < integers.length; i++) {
            if (i % 2 == 0) {
                list1.add(integers[i]);
            } else {
                list2.add(integers[i]);
            }
        }
        if (integers.length % 2 == 0) {
            //如果是偶数个元素，将下标是奇数的放前面倒序，将下标是偶数的放后面正序
            for (int i = list2.size() - 1; i >= 0; i--) {
                list.add(list2.get(i).toString());
            }
            for (Integer integer : list1) {
                list.add(integer.toString());
            }
        } else {
            //如果是奇数个元素，将下标是偶数的放前面倒序，将下标是奇数的放后面正序
            for (int i = list1.size() - 1; i >= 0; i--) {
                list.add(list1.get(i).toString());
            }
            for (Integer integer : list2) {
                list.add(integer.toString());
            }
        }
        System.out.println(list.stream().collect(Collectors.joining(" ")));
    }

}
